Tömb feltöltése véletlen számokkal és az elemek elrendezése beszúró rendezéssel, eljárások használatával (Beszuro.pas)

program Beszuro;
uses crt;
var i,n:integer;
    a:array [1..50] of integer;

procedure kiir;
begin
   for i:=1 to n do begin
      writeln(a[i]);
      end;
   end;

procedure cserel(mit,mire:integer);
var x:integer;
begin
   x:=a[mit];
   a[mit]:=a[mire];
   a[mire]:=x;
   end;

procedure beszuras(k:integer);
begin
   while(k>1) do begin
      if (a[k]<a[k-1]) then
         cserel (k,k-1)
      else break;
      dec(k);
      end;
   end;

BEGIN
   clrscr;
   randomize;
   n:=10;
   writeln('A tomb elemei rendezes elott:');
   for i:=1 to n do begin
      a[i]:=trunc(90*random)+1;
      writeln(a[i]);
      end;
   writeln('');
   writeln('A tomb elemei rendezes utan:');
   i:=2;
   while (i<=n) do begin
      beszuras(i);
      i:=i+1;
      end;
   kiir;
  readkey;
END.